<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
abstract class AbstractRefinanceGFE {

    private $state;
    private $countyLocale;
    private $townLocale;
    private $primaryResidence;
    private $loanAmounts;
    private $payoffs;
    private $existingOwnersPolicy;
    private $recordationAndTransferTaxes;
    private $mobileClosingCost;
    private $genericBooleans;

    /**
     * Reqired Serializable
     */

    public function AbstractRefinanceGFE($state, $countyLocale, $townLocale, $primaryResidence, $loanAmounts, $payoffs, $existingOwnersPolicy, $recordationAndTransferTaxes, $mobileClosingCost, $genericBooleans) {
        $this->state = new EState($state);
        $this->countyLocale = $countyLocale;
        $this->townLocale = $townLocale;
        $this->primaryResidence = $primaryResidence;
        $this->loanAmounts = $loanAmounts;
        $this->payoffs = $payoffs;
        $this->existingOwnersPolicy = $existingOwnersPolicy;
        $this->recordationAndTransferTaxes = $recordationAndTransferTaxes;
        $this->mobileClosingCost = $mobileClosingCost;
        $this->genericBooleans = $genericBooleans;
    }    

    protected abstract function getTitleServicesImpl();

    public function getMobileClosingCost() {
        return $this->mobileClosingCost;
    }

    public function getRecordationAndTransferTaxes() {
        return $this->recordationAndTransferTaxes;
    }

    public function getTitleServices() {
        return $this->getTitleServicesImpl();
    }

    public function getState() {
        return $this->state;
    }

    public function getCountyLocale() {
        return $this->countyLocale;
    }

    public function getTownLocale() {
        return $this->townLocale;
    }

    public function getPrimaryResidence() {
        return $this->primaryResidence;
    }

    public function getLoanAmounts() {
        return $this->loanAmounts;  
    }

    public function getPayoffs() {
        return $this->payoffs;
    }

    public function getExistingOwnersPolicy() {
        return $this->existingOwnersPolicy;
    }

    public function getGenericBooleans() {
        return $this->genericBooleans;
    }
}
?>
